1. Field of the Invention
The present invention relates to a data processing apparatus for receiving data signals. More particularly, this invention relates to a differential data strobe receiver configured to receive a differential data strobe signal, wherein transitions of the differential data strobe signal indicate sample points for an associated data signal.
2. Description of the Prior Art
It is known to transmit a data signal via a transmission path with an associated data strobe signal which provides a clock signal indicating the intervals at which the data signal should be sampled at a receiver side of the transmission path in order to correctly interpret the data being transmitted from a transmitter side of the transmission path. One known way of providing such a clock signal is in the form of a differential data strobe signal on two parallel paths, wherein the transitions of the signal, which indicate the sampling points for the associated data signal, are identified by a differential comparison of the individual signals on each path with one another to generate a clock signal for sampling the data signal. Such differential signalling has known advantages, such as its improved resilience to environmental noise.
Accordingly, it is known to provide a differential data strobe receiver configured to receive a differential data strobe signal at a first strobe input and a second strobe input, wherein transitions of the differential data strobe signal indicate sample points for an associated data signal. The first and second strobe inputs are typically arranged to be selectively terminated by the receiver, to allow a differential data strobe signal to be correctly received and interpreted when required (by terminating the two inputs), but also to allow the inputs to be disconnected from the termination when data is not being received to avoid unnecessary power consumption. The transmission path can be bidirectional, allowing data to be transmitted in either direction, depending on the configuration and hence setting up the transmission path for data transmission in a given direction will then comprise switching the termination from a differential data strobe receiver at one end of the path to a differential data strobe receiver at the other end. Transmitted data is typically transmitted in short bursts interspersed by inactive periods, so it is usual to disconnect the termination during the inactive periods and only terminate the inputs when a burst of data is expected.
It is therefore necessary, in order to correctly receive a transmitted differential data strobe signal, to terminate the first and second strobe inputs in advance of the arrival of the transitions of the differential data strobe signal that should be identified. However, once the first and second strobe inputs are terminated, the differential data strobe receiver becomes sensitive to noise on the transmission path, which might otherwise cause spurious data to be interpreted by the receiver, and accordingly it is known to gate the clock signal derived from the differential data strobe signal, such that sampling of the data signal only occurs when the gating allows the derived clock signal to be active.
Determining when to gate the derived clock signal is however a non-trivial task, since the assertion of the gating signal (to allow the clock signal to be derived from the received differential data strobe signal) must be precisely phase aligned with the start of a transmitted burst of data. For this reason it is known to prelude real data transmissions with at least one gate training transmission, which allows an initialization procedure to be carried out to set up this phase alignment. Typically a gate training transmission will comprise a preamble, when the two components of the differential data strobe signal on the two parallel paths are held at known, constant values (e.g. VDD and VSS respectively in an integrated circuit context), followed by a sequence of (dummy) differential transitions.
The phase alignment of the gating signal with the differential data strobe signal by means of a series of gate training transmissions in an initialization procedure requires an initial value of a delay applied to the gating signal to be selected, which is then fine tuned to phase align the two signals. However for this procedure to work the initial value of this delay must already be selected to be within a time window defined by the preamble of a gate training transmission and its first valid transition. On the one hand, if the delay allows the gating signal to be asserted too early, the receiver will be vulnerable to noise and a false relationship may be established between the gating signal and the differential data strobe signal. On the other hand, if the delay causes the gating signal is asserted too late, the receiver will miss genuine transitions of the training transmission and the phase alignment will be established with respect to a later transition, rather than the first transition as is required. In either case incorrect data will be interpreted based on the established timing relationship.
Furthermore, as transmission frequencies of the data strobe signals received by such differential data strobe receivers get ever higher, in order to allow higher data transmission rates, the time window in which the initial value of the gating delay must be placed is getting ever narrower, to the extent that known techniques for performing the initialization procedure may not be adequate in the light of parameter variations such as source clock jitter, PVT point variation, varying PCB skews, signal integrity variation (e.g. signal reflections) and so on.
Accordingly, it would be desirable to provide an improved technique for performing the initialization of a differential data strobe receiver, which is better able to cope with the trend towards higher transmission frequencies.